home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / p063b9s.zip / PORTAL.PAS < prev    next >
Pascal/Delphi Source File  |  1996-06-26  |  5KB  |  182 lines

  1. PROGRAM PortalOfPower;
  2. {╔══════════════════════════════════════════════════════════════════════════╗}
  3. {║ Main program                                  Last changed: 26.06.96  SA ║}
  4. {║                                                                          ║}
  5. {║                         (C) Copyright 1989-96 by                         ║}
  6. {║       Dan Wulff, Jens Sandalgaard, Steen Christensen & S¢ren Ager        ║}
  7. {║                                                                          ║}
  8. {║ This source may not be given to anybody, without the written permission  ║}
  9. {║ from The Portal Team.                                                    ║}
  10. {╚══════════════════════════════════════════════════════════════════════════╝}
  11. {$I POPDEFS.INC}
  12.  
  13. USES
  14.   Use32,
  15. {$IFDEF StackCheck}
  16.   OpStack,
  17. {$ENDIF}
  18. {$IFNDEF NoOverlay}
  19.   OvrlayIn,
  20. {$ENDIF}
  21.   Dos,OpCrt, OpDos, OpDate, OpWindow, OpEntry,
  22. {$IFNDEF OS2}
  23.   OpMacro,
  24. {$ENDIF}
  25.   OpMenu,
  26.   OpLArray,
  27.   Init, YooHoo2U, Config, MailCfg, Display, Modem, Com,
  28.   Globals, RBrowser, NodeList, OutMan, NlMan, Util, ZMisc, ZSend, ZReceive,
  29.   TextEdit, ArcView, AreaMan, Event, Unixdate, DumbTerm, FileFwd,
  30.   NlComp, MailUtil, FileUtil, Session, MemStat, ScrBlank, OutInfo, FallBack,
  31.   PFix, FuncReq, DosShell, MTask, Send2Utl, UserEdit, List, PoPTypes,
  32.   NewExp, NewImp, FuncSrvr
  33. {$IFDEF MSGOBJECT}
  34.   , MkFile, MkGlobt, MkMsgAbs, MkMsgEzy, MkMsgFid, MkMsgHud, MkMsgJam,
  35.   MkMsgSqu, MkObject,
  36.   OpBrowse,
  37.   PopEd
  38. {$ENDIF}
  39.  
  40.  
  41. {$IFNDEF OS2}
  42.   , Extend
  43.   , OpExec
  44. {$ENDIF}
  45.  
  46. {$IFNDEF PMode}
  47.   , IsRes
  48. {$ENDIF}
  49.  
  50. {$IFDEF MsgPack}
  51.   , MsgPack
  52. {$ENDIF}
  53.   ;
  54.  
  55. {$IFNDEF NoOverlay}
  56.   {$O OpEdit}   {$O OpEntry}  {$O OpDir}    {$O OpLArray} {$O OpDos}
  57.   {$O OpMemo}   {$O OpMenu}   {$O OpPick}   {$O OpDate}   {$O OpFrame}
  58.   {$O OpMenu}   {$O OpMacEd}  {$O OpHelp}   {$O OpEditor} {$O OpSelect}
  59.   {$O OpFEdit}  {$O OpField}  {$O OpAbsFld} {$O OpCal}    {$O OpCalc}
  60.   {$O OpQkRef}  {$O OpBCD}    {$O OpRoot}   {$O PoPHelp}
  61. {$IFDEF Alpha}
  62.   {$O NetFile}  {$O LogFile}
  63. {$ENDIF}
  64.   {$O Config}   {$O Init}     {$O OutMan}   {$O OutUtil}  {$O TextEdit}
  65.   {$O FileUtil} {$O ZMisc}    {$O ZSend}    {$O ZReceive} {$O NlMan}
  66.   {$O UnixDate} {$O Event}    {$O ArcView}  {$O DumbTerm} {$O PingAnsi}
  67.   {$O TpAvatar} {$O Protocol} {$O YooHoo2U} {$O WZSend}   {$O Util}
  68.   {$O FileFwd}  {$O NlComp}   {$O BiMail}   {$O OpusMsg}  {$O MailCfg}
  69.   {$O FuncReq}  {$O Session}  {$O MailUtil} {$O StrUtil}  {$O PFix}
  70.   {$O Input}    {$O FallBack} {$O PTpl}     {$O ParseReq} {$O Janus}
  71.   {$O TransVid} {$O MusicA}   {$O OutInfo}  {$O AreaMisc} {$O PoPStatu}
  72.   {$O MemStat}  {$O ScrBlank} {$O DosShell} {$O MTask}    {$O Send2Utl}
  73.   {$O RBrowser} {$O Tick}     {$O Usage}    {$O BTree}    {$O Opus_173}
  74.   {$O UserEdit} {$O List}     {$O InterCom} {$O Resource}
  75.   {$O Nodelist} {$O Modem}    {$O Macro}    {$O Display}
  76.   {$O MailScan} {$O MailPack} {$O MSMisc}   {$O NewExp}   {$O NewImp}
  77.   {$O Fax}      {$O FaxConv}  {$O FuncSrvr} {$O BBSDef}   {$O OutMan2}
  78.   {$O AreaMan}  {$O AMList}   {$O AMFBBS}   {$O AMRA2}
  79.   {..$O OproUtil}
  80.   {..$O SimpDB}
  81. {$IFDEF Repacker}
  82.   {$O Repacker}
  83. {$ENDIF}
  84. {$IFDEF MsgPack}
  85.   {$O MsgPack}
  86. {$ENDIF}
  87. {$IFDEF MSGOBJECT}
  88.   {$O MkFile}   {$O MkGlobt}  {$O MkMsgAbs} {$O MkMsgEzy} {$O MkMsgFid}
  89.   {$O MkMsgHud} {$O MkMsgJam} {$O MkMsgSqu} {$O MkObject} {$O OpBrowse}
  90.   {$O PoPEd}
  91. {$ENDIF}
  92.  
  93. {$ENDIF}
  94.  
  95. {$IFDEF PMode}
  96.   {$S 16384}
  97.   {$G PortalOfPower Session}
  98.   {$G TextEdit OpEditor OpMemo}
  99.   {$G DumbTerm PingAnsi TpAvatar MusicA}
  100.   {$G Config MailCfg Init}
  101.   {$G ZSend ZReceive ZMisc}
  102.   {$G Janus}
  103.   {$G YooHoo2U FallBack WzSend ParseReq BiMail}
  104.   {$G FileFwd Tick}
  105.   {$G Keyboard MemStat DosShell OpExec ScrBlank}
  106.   {$G Fossil Modem}
  107.   {$G AreaMan AreaMisc List}
  108.   {$G OutMan}
  109.   {$G UserEdit}
  110.   {$G NLComp}
  111.   {$G NlMan}
  112.   {$G SimpDB NetFile Share FileUtil LogFile}
  113.  
  114.   {$G Crc UnixDate}
  115.   {$G Display TransVid}
  116.   {$G Input OpDir}
  117.   {$G StrUtil OpString}
  118.   {$G Nodelist BTree OpLArray}
  119.   {$G PoPHelp OpHelp}
  120.   {$G Macro OpMacro OpMacEd}
  121.   {$G OpEntry OpEdit OpField OpFEdit OpAbsFld}
  122.   {$G OpWindow OpFrame OpMenu}
  123. {$IFNDEF NOMAILSCANNER}
  124.   {$G MailScan MailPack}
  125. {$ENDIF}
  126.  
  127. {$ENDIF}
  128.  
  129. {$IFOPT G+}
  130.   FUNCTION Is286Able: Boolean; ASSEMBLER;
  131.   ASM
  132.     PUSHF
  133.     POP     BX
  134.     AND     BX,0FFFH
  135.     PUSH    BX
  136.     POPF
  137.     PUSHF
  138.     POP     BX
  139.     AND     BX,0F000H
  140.     CMP     BX,0F000H
  141.     MOV     AX,0
  142.     JZ      @@1
  143.     MOV     AX,1
  144. @@1:
  145.   END;
  146. {$ENDIF}
  147.  
  148. BEGIN
  149. {$IFNDEF PMode}
  150. {$IFOPT G+}
  151.   IF NOT Is286Able THEN
  152.   BEGIN
  153.     Writeln('Need an 80286-compatible system to run Portal of Power v'+Ver);
  154.     Halt(249);
  155.   END;
  156. {$ENDIF}
  157.   IF IsLoaded('PoPower',UserHook) THEN
  158.   BEGIN
  159.     WHILE KeyPressed DO
  160.       IF ReadKey=#0 THEN ;
  161.     StuffString(#27+'EXIT'+#13);
  162.     Halt;
  163.   END;
  164.   Install('PoPower',Nil);
  165.   IF Not IsLoaded('PoPower',UserHook) THEN
  166.   BEGIN
  167.     WriteLn('Error installing Portal of Power');
  168.     Delay(1000);
  169.   END;
  170.   OpExec.UseXmsIfAvailable:=True;
  171.   OpExec.UseEmsOverXms:=False;
  172.   i16:=IsRes.Init16;
  173.   r16:=IsRes.Restore16;
  174. {$ENDIF}
  175. {$IFNDEF OS2}
  176.   ExecDSwap:=OpExec.ExecDosSwap;
  177. {$ENDIF}
  178.   InitPortal;
  179.   PortalMain;
  180.   FinishPortal;
  181. END.
  182.